Video data processing circuits and systems comprising programmable blocks or components

ABSTRACT

The invention refers to a video data processing system and a video data processing circuit, comprising at least two functional blocks of which at least a first functional block is programmable so that different functions can be provided by said first functional block.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit of U.S. provisional application No.60/582,554 filed on Jun. 25, 2004, and titled “Video Data ProcessingCircuits and Systems Comprising Programmable Blocks or Components” whichis incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to video and/or graphics dataprocessing circuits and systems, in particular mounted e.g. to PVRs(Personal Video Recorders) and to video and/or data processing cards forcomputers, e.g. PCs (Personal Computers), Laptops, etc., and/or forset-top boxes, and so on. Video data processing in the context of theinvention comprises cards processing moving graphics (video etc.) and/orstill graphics (pictures, CAD/CAM data), where necessary combined withaudio data etc.

2. Background Art

Referring now to FIG. 1, there is shown a motherboard 1 of a PC(personal computer) according to the prior art.

Typically, the motherboard 1 comprises a CPU 2, a co-processingcomponent (CoPro 3), a Direct Memory Access component (DMA 4), a quartzor crystal oscillator 5, cache memory components 6, a RAM-BIOS component7, several plug-in places or card slots 8, and memory banks 9, etc.

As can be seen from FIG. 1, the several components of the motherboard 1are linked by one or several bus systems comprising e.g. respectivedata, address, and/or control buses, e.g., a PCI bus system 10.

Further, into the above memory bank 9, one or several SIMM modules canbe plugged, each carrying several RAM components, e.g., respective DRAM(or VRAM) memory chips.

Further, into the plug-in places 8—optionally—one or several peripheralcomponent cards can be plugged in, e.g., respective sound cards, videodata processing cards, graphic data processing cards, modem cards, etc.

For example, a video data processing card might e.g. control the datainterchanged between the PC and a monitor connected thereto.

The video (and/or audio) data processing card might comprise one orseveral non-programmable data processing chips, each performing aspecific, predefined function. Further—optionally—the video dataprocessing card might comprise one or several memory chips interactingwith the one or several non-programmable data processing chips.

Further, for example, a video data processing card might e.g. controlthe data (e.g., the video and/or audio data) interchanged between e.g.the PC, and an external (cable or satellite) network (e.g., a TVnetwork, a network providing video on demand, etc.).

The video data processing card might comprise one or severalnon-programmable data processing chips, each performing a specific,predefined function. Further—optionally—the video data processing cardmight comprise one or several memory chips interacting with the one orseveral non-programmable data processing chips.

The prior art systems as described above have several disadvantages.

For instance, due to the fact that the above graphic and/or video dataprocessing cards comprise one or several non-programmable dataprocessing chips each performing a specific, predefined function, thecards show little flexibility as to their functionality. If a differentfunctionality is needed in general a different card has to be used.

Therefore, what is needed is new system and a new method, in particular,new graphic and/or video data processing circuits, with which the aboveand/or other drawbacks of the prior art might be overcome.

Further limitations and disadvantages of conventional and traditionalapproaches will become apparent to one of skill in the art, throughcomparison of such systems and methods with the present invention as setforth in the remainder of the present application with reference to thedrawings.

BRIEF SUMMARY OF THE INVENTION

According to the present invention, these objects are achieved by videodata processing circuits and systems as defined in the claims. Thedependent claims define advantageous and preferred embodiments of thepresent invention. It is understood that within the context of theinvention, video data comprise data of still graphics (e.g. pictures)and data of moving graphics (e.g. video), as well as multimedia (audioetc.) data. A video data processing circuit can thus be a, or be part ofa, for example, graphics card, video card, and multimedia card. Typicalapplications are the use for PVR (Personal Video Recorder) products, orother video encoder products like PC video capture cards (with, e.g. PCIor USB interface) and the like.

According to an aspect of the invention, a video data processing circuitcomprises at least two functional blocks of which at least a firstfunctional block is programmable so that different functions can beprovided by said first functional block. This can be a first block and asecond block, the first block being programmable such as to eitherprovide a first or a second function that is different from the firstfunction. In general, the number of functions of each block is notlimited. Examples for functions are: video capture, VBI (VerticalBlanking Interval) data processing, motion estimation, video processor,Huffman coding, bit rate management etc.

In a preferred embodiment, the video data processing circuit comprisesat least one more programmable functional block so that differentfunctions can be provided by said functional block. The functions of thedifferent blocks can be the same over the same period of time—e.g.changed simultaneously—or they can provide different functions. Forexample, the second block can be programmable such as to either providea third or a fourth function, the fourth function different from thethird function.

As set out above, the video data processing circuit can principallycomprise many programmable functional blocks. For example, it canadditionally contain a third block (and/or further blocks), the thirdblock (and/or the further blocks) being programmable such as to eitherprovide a fifth, or a sixth function (and/or further functions)different from the fifth function. In short, each programmablefunctional block can have its own function and/or respective program ora function and/or a respective program common to more than one block.

In one embodiment, at least one block, preferably all of the blocks, areprogrammable such that, depending on the desired function of the blocksor circuit, resp., the data flow between at least one pair of blocks orthe blocks in general can be specified. For example, by programming ablock, the data link to the other block(s) can be specified.

Preferably, the data flow between blocks can have a different bit rate.For example, the bit rate for the data flow from the first block to thesecond block can be higher than the bit rate for the data flow from thefirst block to the third block.

Then, it is preferable if the bit rate is selectable such that a dataflow between said blocks is configurable. Thus the data path(s) can beconfigured, resulting, e.g. in a data flow from one first block toanother second block under a first configuration and a (reversed) dataflow from one block to another block under a first configuration and a(reversed) data flow from the second block to the first block under asecond configuration after reprogramming, and so on for other blocksetc.

According to a further aspect of the invention, a video data processingsystem comprises at least a first and a second video data processingcircuit, at least the first circuit being programmable so that differentfunctions can be provided at least by said first circuit. For example,at least a first and a second graphics (i.e. video and/or still graphicsand/or audio) data processing circuit are provided, the first circuitbeing programmable such as to either provide a first or a secondfunction, the second function being different from the first function.

In a variant, the second circuit is programmable, too, so that differentfunctions can be provided by said second circuit. In a preferredembodiment, the second circuit provides different functions compared tosaid first circuit. For example, the second circuit can be programmablesuch as to either provide a third, or a fourth function different fromthe third function.

Examples for functions are: video capture, VBI (Vertical BlankingInterval) data processing, motion estimation, video processor, Huffmancoding, bit rate management etc.

It is also possible that the data flow between said circuits has adifferent bit rate. This includes the case when one or more of the bitrates are zero. In that case the data flow between the blocks can beconfigured, i.e. the path of data through the system or video card. Thenthe data may flow, for example, from a first block to a second block,and—after reconfiguration of the bit rates—from the second block to thefirst block etc. etc.

The video data processing circuit(s) and/or system(s) are preferablyused with e.g. graphics cards that control the data interchanged betweenthe PC, and a monitor connected thereto, or with graphics/video cardsthat control the data interchanged between e.g. the PC, and an externalnetwork, or within a set-top box or PVR systems.

Thus, the present invention provides for a more flexible graphic and/orvideo data processing. Further, in a variant, task oriented programmingmight be made possible.

These and other advantages, aspects and novel features of the presentinvention, as well as details of an illustrated embodiment thereof, willbe more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate the present invention and, togetherwith the description, further serve to explain the principles of theinvention and to enable a person skilled in the pertinent art to makeand use the invention.

FIG. 1 illustrates a motherboard of a prior art PC.

FIG. 2 schematically illustrates a card/module with several video and/orgraphic data processing circuits in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described in detail with reference toa few preferred embodiments thereof as illustrated in the accompanyingdrawings. In the following description, numerous specific details areset forth in order to provide a thorough understanding of the presentinvention. It will be apparent, however, to one skilled in the art, thatthe present invention may be practiced without some or all of thesespecific details. In other instances, well known processes and stepshave not been described in detail in order not to unnecessarily obscurethe present invention.

Referring now to FIG. 2, there is shown a card/electronic module 100with several video and/or graphic data processing circuits 101, 102,103, 104 (here: several video and/or graphic data processing chips101-104) in accordance with an embodiment of the invention.

The card 100 might e.g. serve as a video and/or graphic data processingcard/module for e.g. computers, for instance Personal Computers,Laptops, etc., and/or for set-top boxes, and/or any other suitableelectronic system. For this purpose, the card 100 might e.g. be pluggedinto a respective plug-in place, e.g. one of the plug-in places 8 of thePC motherboard 1 shown in FIG. 1.

The card might e.g. control the data interchanged between e.g. the PC(or any other suitable electronic system), and a monitor connectedthereto, and/or might e.g. control the data (e.g., the video and/oraudio data) interchanged between e.g. the PC (or any other suitableelectronic system), and an external (cable or satellite) network (e.g.,a TV network, a network providing video on demand, etc.), etc.

The above graphics (i.e. video and/or graphic) data processing circuits101, 102, 103, 104—just as conventional circuits—each comprise several(here: four) functional blocks 101 a-d, 102 a-d, 103 a-d, 104 a-d.

In contrast to the prior art, some or all of the functional blocks 101a-d, 102 a-d, 103 a-d, 104 a-d (e.g., one, two or three, etc. functionalblocks of a specific circuit) do not fulfill only a predefined function(e.g., a function defined by the specific hardware used in therespective functional block).

Instead, some or all of the functional blocks 101 a-d, 102 a-d, 103 a-d,104 a-d—flexibly—might fulfill one of several, different functionsdefined by a specific software used for the respective functional block101 a-d, 102 a-d, 103 a-d, 104 a-d. Hence, some or all of the functionalblocks 101 a-d, 102 a-d, 103 a-d, 104 a-d might be programmable (suchthat e.g. the first functional block 101 a of the first circuit 101might e.g. be programmable such as to either provide a first, or asecond function different from the first function (and/or a thirdfunction different from the first and second function), and/or that e.g.the second functional block 101 b of the first circuit 101 might e.g. beprogrammable such as to either provide a fourth, or a fifth functiondifferent from the fourth function (and/or a sixth function differentfrom the fourth and fifth function), etc., etc.).

For this purpose, one or several additional memory components might beprovided on the card 100 (or externally), on which—depending on thespecific function elected to be performed by a respective functionalblock—a respective software is stored which when executed on therespective functional block causes the functional block to fulfill thespecific, elected function.

If a different or amended function is desired for one or several blocksof one or several circuits 101-104, i.e., an amended function for thewhole card 100 is desired, instead of having to use a completelydifferent card, simply a new or amended software is stored/installed onthe above additional memory component(s).

Examples for functions are: video capture, VBI (Vertical BlankingInterval) data processing, motion estimation, video processor, Huffmancoding, bit rate management etc. An example for using the differentfunctions is when a video data card firstly utilizes its video/graphicsprocessor to capture data (e.g. a video stream from a DSL subscriberline), and then after a reprogramming (reconfiguration) uses its videoprocessor to modify the captured data before further processing. Thisenables features like OSD (On Screen Display) etc.

As is schematically shown in FIG. 2, in an embodiment, respective data(e.g., the video and/or audio data) is input into the card 100 at arespective input 108 a, and fed to e.g. the first circuit 101 and/or thesecond circuit 102, processed by the respective circuit, andthen—optionally—fed to one or several other circuits 103, 104 (andfurther processed), etc., etc., and then output (e.g. by the thirdand/or fourth circuit, etc.) at a respective output 108 b.

In an embodiment, depending on the respective desired function of thecard 100 (i.e., the respective software used for the above severalprogrammable functional blocks 101 a-d, 102 a-d, 103 a-d, 104 a-d), forexample, the input data either e.g. flows to the first, or the secondcircuit 101, 102, and/or the data output by e.g. the first circuit 101either e.g. flows to the third, or the fourth circuit (and/or e.g. thedata output by e.g. the second circuit 102 either e.g. flows to thethird, or the fourth circuit), etc., etc, as schematically indicated bythe respective arrows.

Thereby, e.g., the data might flow from the first to the third circuitwith e.g. a first bit rate, and the data might flow from the first tothe fourth circuit with e.g. a second bit rate, the second bit ratebeing different from the first bit rate (the second bit rate e.g. beingbigger (or smaller), than the first bit rate) (correspondingly, the datamight e.g. flow from the second to the third circuit with e.g. a thirdbit rate, and the data might e.g. flow from the second to the fourthcircuit with e.g. a fourth bit rate, the fourth bit rate being differentfrom the third bit rate (the fourth bit rate e.g. being bigger (orsmaller), than the third bit rate)).

Correspondingly, inside the respective circuits, depending on therespective software used for the above several programmable functionalblocks 101 a-d, 102 a-d, 103 a-d, 104 a-d, for example, the data inputinto a respective circuit 101 either e.g. flows to a first 101 a, or asecond block 101 b of the respective circuit 101, and/or the data outputby e.g. a first block 101 a of a circuit 101 either e.g. flows to athird 101 c, or a fourth block 101 d of a circuit (and/or e.g. the dataoutput by e.g. a second block 101 b of a circuit 101 either e.g. flowsto a third 101 c, or a fourth block 101 d of a circuit), etc., etc.

Thereby, e.g., the data might flow from a first block 101 a to a thirdblock 101 c of a circuit 101 with e.g. a first bit rate, and the datamight flow from a first 101 a to a fourth block 101 d of a circuit 101with e.g. a second bit rate, the second bit rate being different fromthe first bit rate (e.g. being bigger (or smaller), than the first bitrate) (correspondingly, the data might e.g. flow from a second 101 b toa third block 101 c of a circuit 101 with e.g. a third bit rate, and thedata might e.g. flow from a second 101 b to a fourth block 101 d of acircuit 101 with e.g. a fourth bit rate, the fourth bit rate beingdifferent from the third bit rate (the fourth bit rate e.g. being bigger(or smaller), than the third bit rate)).

The card 100 (i.e., the interacting-programmable-circuits 101-104 (byuse of the—interacting-programmable blocks within the circuits 101-104))might fulfill a function corresponding to that of an ordinary videoand/or graphic data processing card/module, and/or any other suitablevideo and/or audio data processing function, etc.

Due to the programmability of the several interacting blocks and/orcircuits, a much bigger flexibility is achieved, as by the use ofconventional graphic and/or video data processing cards.

Thus, the present invention provides for a more flexible graphic and/orvideo data processing.

Further, task oriented programming might be made possible.

While the invention has been described with reference to certainembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted withoutdeparting from the scope of the invention. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the invention without departing from its scope.Therefore, it is intended that the invention not be limited to theparticular embodiment disclosed, but that the invention will include allembodiments falling within the scope of the appended claims.

Generally, the data path(s), bit rates, and data protocols used are notlimited but can be programmed by the one skilled in the art as to thebest effect.

1. A video data processing system, comprising: a first circuitconfigured to receive input data at a common input; a second circuitconfigured to receive the input data at the common input; a thirdcircuit configured to receive data from the first circuit and the secondcircuit and to provide output data at a common output; and a fourthcircuit configured to receive the data from the first circuit and thesecond circuit configured and to provide the output data at the commonoutput, wherein at least one of the first circuit, the second circuit,the third circuit, and the fourth circuits includes: a first functionalblock, a second functional block coupled to the first functional block,a third functional block coupled to the first functional block and thesecond functional block, and a fourth functional block coupled to thefirst functional block and the second functional block, wherein aprogrammable block including at least one of the first functional blockthrough the fourth functional block is programmable by a specificsoftware that when executed causes the programmable block to carry out aparticular one of a plurality of functions.
 2. The video data processingsystem of claim 1, wherein the plurality of functions includes at leastone of: video capture; vertical blanking interval (VBI) data processing;motion estimation; video processing; Huffman coding; and bit ratemanagement.
 3. The video data processing system of claim 1, wherein apredefined block including at least one of the first functional blockthrough the fourth functional block is configured to provide only apredefined function.
 4. The video data processing system of claim 3,wherein the predefined function is a function defined by hardware usedin the predefined block.
 5. The video data processing system of claim 1,wherein the plurality of functions includes a first function and asecond function different from the first function, the programmablefunctional block being programmable to carry out the first function andthe second function.
 6. The video data processing system of claim 5,wherein the plurality of functions includes a third function differentfrom the first function and the second function, the programmablefunctional block being programmable to carry out the third function. 7.The video data processing system of claim 1, further comprising: one ormore memory components configured to store the specific software.
 8. Thevideo data processing system of claim 7, wherein the programmablefunctional block is programmable to carry out a second function from theplurality of functions by executing a second specific software stored inthe one or more memory components, wherein the first function isdifferent from the second function.
 9. The video data processing systemof claim 1, wherein the first functional block is configured to providedata to the second functional block at a first bit rate, the firstfunctional block is configured to provide data to the third functionalblock at a second bit rate, wherein the first functional block isconfigured to provide data to the fourth functional block at a third bitrate, and wherein the first bit rate, the second bit rate, and the thirdbit rate are different.
 10. The video data processing system of claim 1,wherein the video data processing system is configured to control datainterchanged between a personal computer and a monitor connectedthereto.
 11. The video data processing system of claim 10, wherein thedata interchanged includes at least one of video data and audio data.12. The video data processing system of claim 1, wherein the video dataprocessing system is configured to control data interchanged between apersonal computer and an external network connected thereto.
 13. Thevideo data processing system of claim 12, wherein the data interchangedincludes at least one of video data and audio data.
 14. The video dataprocessing system of claim 1, wherein the input data includes at leastone of video data and audio data.
 15. The video data processing systemof claim 1, wherein the first circuit is configured to provide data tothe second circuit at a first bit rate, wherein the first circuit isconfigured to provide data to the third circuit at a second bit rate,and the first circuit is configured to provide data to the fourthcircuit at a third bit rate, and wherein the first bit rate, the secondbit rate, and the third bit rate are different.